草庐IT

Python 变量作为 dict 的键

全部标签

Javascript 作用域和变量

varname="Bob";varbook={name:"HarryPotter",writeName:function(){returnfunction(){document.writeln(this.book.name);}}};当我调用它时book.writeName()();我想让它打印HarryPotter(不是Bob),但这是:varbook2=book;book=null;book2.writeName()();现在在应该寻找this.book2的地方寻找this.book(它是null)如何引用变量? 最佳答案 这里

javascript - javascript中的变量范围混淆

这个问题在这里已经有了答案:WhatisthescopeofvariablesinJavaScript?(27个答案)关闭8年前。我在研究JS中变量作用域的概念,在上面找到了这个例子:(function(){varfoo=1;functionbar(){varfoo=2;}bar();console.log(foo)//outputs1if(true){varfoo=3;}console.log(foo)//outputs3})();这个函数的输出是13现在我很困惑为什么foo在第二个日志中获取值3。即使在if语句中使用var声明了foo。在if中声明的foo不应该在bar()中有一个

javascript - 在加载所有任务之前不会设置 Grunt 环境变量

我正在使用npm模块gruntenv和load-grunt-config在我的项目中。gruntenv为您处理环境变量,而load-grunt-config处理,嗯,为您加载grunt配置。您可以将您的任务放入其他文件中,然后load-grunt-config会将它们打包并让grunt为您加载和使用它们。您还可以创建一个aliases.js文件,其中包含您希望将任务组合在一起的任务,一个接一个地运行。它类似于grunt.registerTask原始Gruntfile.js中的任务。我将所有grunt任务放在根文件夹下的一个单独的grunt/文件夹中,其中包含主要的Gruntfile,没

javascript - 将服务变量绑定(bind)到指令?

我有一个Controller,它包含一个从服务器获取一些数据的函数。我将该数据存储在服务变量中。然后将此服务注入(inject)到指令中。我希望在调用此函数并更新数据时自动更新指令。我的Controller:angular.module('myApp').controller('myCtrl',['$scope','SomeService',function($scope,SomeService){$scope.update=function(){SomeService.myValue=100;}}]);指令:angular.module('myApp').directive('myD

javascript - 调用不带括号的函数会将整个函数作为字符串返回

我创建了一个这样的JavaScript对象:varobj={a:10,b:20,add:function(){returnthis.a+this.b;}};我以obj.add的形式执行函数,它以字符串a的形式返回整个函数,如下所示:function(){returnthis.a+this.b;}Butlater,Itriedtocallthefunctionagain,includingtheparentheses,like`obj.add()`anditreturnsthevalue`30`.Icouldn’tfigureoutwhyIgetsuchadifferentoutputu

javascript - react类中的成员变量引用为 "shared"

当我创建一个React类的多个实例时(通过在同一个类上使用React.createElement),一些成员变量在实例之间共享(数组和对象是共享的,字符串和bool值等不是)。对我来说,这感觉很可怕、很可怕​​而且是错误的。这是一个错误还是有其他方法可以做我想做的事?请看:http://jsbin.com/kanayiguxu/1/edit?html,js,console,output 最佳答案 您应该做的是在组件上设置状态,而不是将状态作为React组件上的任意属性。所以不要这样做:varMyComponent=React.cre

javascript - 使用 JavaScript 访问变量对象的属性

我有一个如下所示的js对象:varobject={"divisions":{"ocd-division/country:us":{"name":"UnitedStates",}}};我想访问嵌套对象“ocd-division/country:us”(又名“name”)下列出的属性,但我遇到的问题是"ocd-division/country"是一个变量对象。就像它可能是加拿大或其他国家的“:can”。我的问题是,即使它是可变的,我仍然可以访问该对象下的名称属性吗?我在下面写了我想出的代码,但它按字面意思调用了对象,所以它不能解释对象名称的变化。varcountry=document.ge

javascript - 访问 chrome 扩展中当前选项卡的所有窗口变量

这个问题在这里已经有了答案:Accessvariablesandfunctionsdefinedinpagecontextusingacontentscript(6个答案)关闭7年前。任何人都可以发布用于访问chrome扩展中的窗口变量的代码。单击chrome扩展按钮时,我需要访问窗口变量。我正在获取窗口对象,但没有加载所有变量。我知道我们可以通过注入(inject)脚本来创建它。但我不知道如何实现它。目前我正在尝试使用以下代码来获取当前事件选项卡的页面源。chrome.tabs.executeScript({code:"document.getElementsByTagName('h

javascript - 如何在 JavaScript 中创建此对象的键/值的所有组合?

我有以下JavaScript对象结构:varoptions={optionOne:[true,false],optionTwo:[true,false],optionThree:[null,{property1:9,property2:7},{property1:4,property2:12},{property1:16,property2:14}]};请注意,此对象中key/对的数量会有所不同。所以实际上可能有optionFour、optionFive等,每个选项的数组可以有任意数量或类型的值。我需要遍历这个对象并创建一个包含所有可能选项组合的对象的数组:[{optionOne:tr

javascript - 将变量字符串值转换为 JavaScript 中的表达式

我正在尝试将字符串值转换为表达式,以便我可以在以下if条件下使用它:varStringVal='20>18&&"yes"=="yes"';if(StringVal){....}是否可以这样做,请建议我。谢谢 最佳答案 从用户来源获取输入并对其进行评估通常不安全,但您可以使用Function评估,或evalvarStringVal='20>18&&"yes"=="yes"';if(newFunction('return('+StringVal+')')()){console.log('ok');}Areeval()andnewFunc